﻿namespace FFF.Test.Application.Repositories.FW
{
    using System;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using Abp.Application.Services.Dto;
    using Abp.AutoMapper;
    using FFF.Test.Entity.FW;

	/// <summary>
    /// 用户表展示时候的dto
    /// </summary>
	[AutoMap(typeof(FWUserEntity))] 
    public class FWUserResDto : EntityDto<Guid>
    {
		/// <summary>
        /// 用户编码
        /// </summary>
		[Display(Name = "用户编码", Description = "用户编码")]
        [Column("UserCode")]
		[StringLength(128)]
        public string UserCode { get; set; }
        
		/// <summary>
        /// 用户密码
        /// </summary>
		[Display(Name = "用户密码", Description = "用户密码")]
        [Column("UserPassword")]
		[StringLength(128)]
        public string UserPassword { get; set; }
        
		/// <summary>
        /// 用户名称
        /// </summary>
		[Display(Name = "用户名称", Description = "用户名称")]
        [Column("UserName")]
		[StringLength(128)]
        public string UserName { get; set; }
        
		/// <summary>
        /// 电子邮件
        /// </summary>
		[Display(Name = "电子邮件", Description = "电子邮件")]
        [Column("UserEmail")]
		[StringLength(128)]
        public string UserEmail { get; set; }
        
		/// <summary>
        /// 办公电话
        /// </summary>
		[Display(Name = "办公电话", Description = "办公电话")]
        [Column("UserOfficePhone")]
		[StringLength(128)]
        public string UserOfficePhone { get; set; }
        
		/// <summary>
        /// 移动电话
        /// </summary>
		[Display(Name = "移动电话", Description = "移动电话")]
        [Column("UserMobilePhone")]
		[StringLength(128)]
        public string UserMobilePhone { get; set; }
        
		/// <summary>
        /// 家庭电话
        /// </summary>
		[Display(Name = "家庭电话", Description = "家庭电话")]
        [Column("UserHomePhone")]
		[StringLength(128)]
        public string UserHomePhone { get; set; }
        
		/// <summary>
        /// 域账号
        /// </summary>
		[Display(Name = "域账号", Description = "域账号")]
        [Column("UserADAccount")]
		[StringLength(128)]
        public string UserADAccount { get; set; }
        
		/// <summary>
        /// 是否禁用
        /// </summary>
		[Display(Name = "是否禁用", Description = "是否禁用")]
        [Column("UserIsDisabeld")]
        public byte UserIsDisabeld { get; set; }
        
		/// <summary>
        /// 禁用原因
        /// </summary>
		[Display(Name = "禁用原因", Description = "禁用原因")]
        [Column("UserDisabledReason")]
		[StringLength(512)]
        public string UserDisabledReason { get; set; }
        
		/// <summary>
        /// 是否管理员
        /// </summary>
		[Display(Name = "是否管理员", Description = "是否管理员")]
        [Column("UserIsAdmin")]
        public int UserIsAdmin { get; set; }
        
		/// <summary>
        /// 工号
        /// </summary>
		[Display(Name = "工号", Description = "工号")]
        [Column("UserJobNumber")]
		[StringLength(128)]
        public string UserJobNumber { get; set; }
        
		/// <summary>
        /// 默认岗位
        /// </summary>
		[Display(Name = "默认岗位", Description = "默认岗位")]
        [Column("UserDefaultStation")]
        public Guid? UserDefaultStation { get; set; }
        
		/// <summary>
        /// 是否用户修改密码
        /// </summary>
		[Display(Name = "是否用户修改密码", Description = "是否用户修改密码")]
        [Column("IsUserChangePWD")]
        public int IsUserChangePWD { get; set; }
        
		/// <summary>
        /// 是否锁定
        /// </summary>
		[Display(Name = "是否锁定", Description = "是否锁定")]
        [Column("UserIsLocked")]
        public int UserIsLocked { get; set; }
        
		/// <summary>
        /// 锁定时间
        /// </summary>
		[Display(Name = "锁定时间", Description = "锁定时间")]
        [Column("UserLockTime")]
        public DateTime? UserLockTime { get; set; }
        
		/// <summary>
        /// 职务
        /// </summary>
		[Display(Name = "职务", Description = "职务")]
        [Column("PUserosition")]
		[StringLength(128)]
        public string PUserosition { get; set; }
        
		/// <summary>
        /// 是否正式编制
        /// </summary>
		[Display(Name = "是否正式编制", Description = "是否正式编制")]
        [Column("IsFormalEstablishment")]
        public int IsFormalEstablishment { get; set; }
        
		/// <summary>
        /// 上次IP地址
        /// </summary>
		[Display(Name = "上次IP地址", Description = "上次IP地址")]
        [Column("LastIpAdress")]
		[StringLength(512)]
        public string LastIpAdress { get; set; }
        
		/// <summary>
        /// 用户图像url
        /// </summary>
		[Display(Name = "用户图像url", Description = "用户图像url")]
        [Column("UserImageUrl")]
		[StringLength(256)]
        public string UserImageUrl { get; set; }
        
		/// <summary>
        /// 原图像url
        /// </summary>
		[Display(Name = "原图像url", Description = "原图像url")]
        [Column("UserPreImageUrl")]
		[StringLength(256)]
        public string UserPreImageUrl { get; set; }
        
		/// <summary>
        /// 登录失败次数
        /// </summary>
		[Display(Name = "登录失败次数", Description = "登录失败次数")]
        [Column("LoginErrorCount")]
        public int LoginErrorCount { get; set; }
        
		/// <summary>
        /// 上一次登录失败原因
        /// </summary>
		[Display(Name = "上一次登录失败原因", Description = "上一次登录失败原因")]
        [Column("LastLoginErrorTime")]
        public DateTime? LastLoginErrorTime { get; set; }
        
		/// <summary>
        /// 密码修改时间
        /// </summary>
		[Display(Name = "密码修改时间", Description = "密码修改时间")]
        [Column("PasswordModifyTime")]
        public DateTime? PasswordModifyTime { get; set; }
        
		/// <summary>
        /// 登录时间
        /// </summary>
		[Display(Name = "登录时间", Description = "登录时间")]
        [Column("LoginTime")]
        public DateTime? LoginTime { get; set; }
        
    }
}
